from netfilterqueue import NetfilterQueue

from packet_correctness import *

fw = Firewall()
packet_correctness_fw = PacketCorrectness(fw, 1110, 'FW')

_pkt = b'E\x00\x00X\x00\x01\x00\x00@\x06F\x13\xac\n\x01\x02$\x91b\xef\x1f\x90M\xf1\x00\x00\x00\x00\x00\x00\x00\x00P' \
       b'\x02 \x00\xf6\xc6\x00\x00abcdefffffffffffffff\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x04V1\xf1s\xce\t\xc5' \
       b'\xac>|\xfd\xaa\xf8\xb2\x03\xec\xdd '


def print_and_accept(pkt):
    out_pkt = packet_correctness_ids.process(_pkt)
    pkt.set_payload(out_pkt)
    pkt.accept()


queue = NetfilterQueue()
queue.bind(1, print_and_accept, max_len=8192)
try:
    queue.run()
except KeyboardInterrupt:
    queue.unbind()
